WORST_CASE(?,O(n^2)) Solution: --------- "0" :: ["A"(2, 0)] -(2)-> "A"(2, 0) "0" :: ["A"(0, 0)] -(0)-> "A"(0, 0) "0" :: ["A"(4, 0)] -(4)-> "A"(4, 0) "0" :: ["A"(1, 0)] -(1)-> "A"(1, 1) "1" :: ["A"(2, 0)] -(2)-> "A"(2, 0) "1" :: ["A"(0, 0)] -(0)-> "A"(0, 0) "1" :: ["A"(4, 0)] -(4)-> "A"(4, 0) "1" :: ["A"(1, 0)] -(1)-> "A"(1, 0) "O" :: ["A"(0, 0)] -(0)-> "A"(0, 0) "choice" :: ["A"(4, 0)] -(0)-> "A"(4, 0) "cons" :: ["A"(3, 0) x "A"(3, 0)] -(3)-> "A"(3, 0) "cons" :: ["A"(4, 0) x "A"(4, 0)] -(4)-> "A"(4, 0) "cons" :: ["A"(8, 0) x "A"(11, 3)] -(8)-> "A"(8, 3) "cons" :: ["A"(4, 0) x "A"(7, 3)] -(4)-> "A"(4, 3) "eq" :: ["A"(0, 0) x "A"(2, 0)] -(1)-> "A"(0, 0) "false" :: [] -(0)-> "A"(0, 0) "false" :: [] -(0)-> "A"(6, 0) "false" :: [] -(0)-> "A"(1, 1) "guess" :: ["A"(8, 3)] -(2)-> "A"(4, 3) "if" :: ["A"(0, 0) x "A"(0, 0) x "A"(0, 8)] -(1)-> "A"(0, 0) "member" :: ["A"(0, 0) x "A"(3, 0)] -(1)-> "A"(0, 0) "negate" :: ["A"(4, 0)] -(0)-> "A"(0, 0) "nil" :: [] -(0)-> "A"(3, 0) "nil" :: [] -(0)-> "A"(0, 0) "nil" :: [] -(0)-> "A"(2, 0) "nil" :: [] -(0)-> "A"(8, 3) "nil" :: [] -(0)-> "A"(4, 3) "nil" :: [] -(0)-> "A"(15, 15) "sat" :: ["A"(14, 15)] -(16)-> "A"(0, 0) "satck" :: ["A"(0, 0) x "A"(4, 3)] -(11)-> "A"(0, 0) "true" :: [] -(0)-> "A"(0, 0) "true" :: [] -(0)-> "A"(13, 1) "true" :: [] -(0)-> "A"(6, 0) "unsat" :: [] -(0)-> "A"(15, 15) "verify" :: ["A"(4, 3)] -(8)-> "A"(0, 0) Cost Free Signatures: --------------------- "0" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "0" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 1) "1" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "1" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 8) "O" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "choice" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "choice" :: ["A"_cf(3, 0)] -(0)-> "A"_cf(3, 0) "cons" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "cons" :: ["A"_cf(3, 0) x "A"_cf(3, 0)] -(3)-> "A"_cf(3, 0) "eq" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "false" :: [] -(0)-> "A"_cf(0, 9) "false" :: [] -(0)-> "A"_cf(0, 0) "false" :: [] -(0)-> "A"_cf(0, 8) "guess" :: ["A"_cf(3, 0)] -(0)-> "A"_cf(3, 0) "if" :: ["A"_cf(0, 0) x "A"_cf(0, 8) x "A"_cf(0, 8)] -(0)-> "A"_cf(0, 8) "if" :: ["A"_cf(0, 0) x "A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "member" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 8) "member" :: ["A"_cf(0, 0) x "A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "negate" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 0) "nil" :: [] -(0)-> "A"_cf(0, 0) "nil" :: [] -(0)-> "A"_cf(3, 0) "nil" :: [] -(0)-> "A"_cf(15, 12) "true" :: [] -(0)-> "A"_cf(0, 0) "true" :: [] -(0)-> "A"_cf(0, 8) "true" :: [] -(0)-> "A"_cf(1, 9) "verify" :: ["A"_cf(0, 0)] -(0)-> "A"_cf(0, 8) Base Constructors: ------------------ "\"0\"_A" :: ["A"(1, 0)] -(1)-> "A"(1, 0) "\"0\"_A" :: ["A"(0, 0)] -(0)-> "A"(0, 1) "\"1\"_A" :: ["A"(1, 0)] -(1)-> "A"(1, 0) "\"1\"_A" :: ["A"(0, 0)] -(0)-> "A"(0, 1) "\"O\"_A" :: ["A"(0, 0)] -(0)-> "A"(1, 0) "\"O\"_A" :: ["A"(0, 0)] -(1)-> "A"(0, 1) "\"cons\"_A" :: ["A"(1, 0) x "A"(1, 0)] -(1)-> "A"(1, 0) "\"cons\"_A" :: ["A"(0, 0) x "A"(1, 1)] -(0)-> "A"(0, 1) "\"false\"_A" :: [] -(0)-> "A"(1, 0) "\"false\"_A" :: [] -(0)-> "A"(0, 1) "\"nil\"_A" :: [] -(0)-> "A"(1, 0) "\"nil\"_A" :: [] -(0)-> "A"(0, 1) "\"true\"_A" :: [] -(0)-> "A"(1, 0) "\"true\"_A" :: [] -(0)-> "A"(0, 1) "\"unsat\"_A" :: [] -(0)-> "A"(1, 0) "\"unsat\"_A" :: [] -(0)-> "A"(0, 1)